package com.unisal.java;


public class RemoteLoader {

	public static void main(String[] args) {
		ControleRemoto controleRemoto = new ControleRemoto();

		Luz luzDaEntrada = new Luz("Entrada");
		Luz luzDaCozinha = new Luz("Cozinha");
		Ventilador ventilador = new  Ventilador("Entrada");
		PortaGaragem portaoDaGaragem = new PortaGaragem("");
		AparelhoDeSom som = new AparelhoDeSom("Entrada");
		
		LuzAcendeComando luzEntradaAcende = new LuzAcendeComando(luzDaEntrada);
		LuzApagaComando luzEntradaApaga = new LuzApagaComando(luzDaEntrada);
		
		LuzAcendeComando luzCozinhaAcende = new LuzAcendeComando(luzDaCozinha);
		LuzApagaComando luzCozinhaApaga = new LuzApagaComando(luzDaCozinha);
		
		VentiladorLigaComando ventiladorEntradaLiga = new VentiladorLigaComando(ventilador);
		VentiladorDesligaComando ventiladorEntradaDesiga = new VentiladorDesligaComando(ventilador);
		
		PortaGaragemAbrirComando portaoGaragemAbrir = new PortaGaragemAbrirComando(portaoDaGaragem);
		PortaGaragemFecharComando portaoGaragemFechar = new PortaGaragemFecharComando(portaoDaGaragem);
		
		AparelhoDeSomOnComCDComando aparelhoDeSomLiga = new AparelhoDeSomOnComCDComando(som);
		AparelhoDeSomOff aparelhoDeSomDesliga = new AparelhoDeSomOff(som);
		
		controleRemoto.setCommand(0, luzEntradaAcende, luzEntradaApaga);
		controleRemoto.setCommand(1, luzCozinhaAcende, luzCozinhaApaga);
		controleRemoto.setCommand(2, ventiladorEntradaLiga, ventiladorEntradaDesiga);
		controleRemoto.setCommand(3, portaoGaragemAbrir, portaoGaragemFechar);
		controleRemoto.setCommand(4, aparelhoDeSomLiga, aparelhoDeSomDesliga);
		
		System.out.println(controleRemoto);
		
		controleRemoto.onButtonsPressed(0);
		controleRemoto.offButtonsPressed(0);
		controleRemoto.onButtonsPressed(1);
		controleRemoto.offButtonsPressed(1);
		controleRemoto.onButtonsPressed(2);
		controleRemoto.offButtonsPressed(2);
		controleRemoto.onButtonsPressed(3);
		controleRemoto.offButtonsPressed(3);
		controleRemoto.onButtonsPressed(4);
		controleRemoto.offButtonsPressed(4);
	}

}
